The gconf keys used to restore GNOME aren't in a proper GNOME3 environment.
To mimic what GNOME3 gnome-session does would be extremely complicated, so
just launch the system gnome-shell.
https://bugzilla.gnome.org/show_bug.cgi?id=654527
component = client.get_string(gconf_path)
if component == None or component == "":
- return
+ return False
# See gnome-session/gsm-util.c:gsm_util_find_desktop_file_for_app_name()
# The one difference is that we don't search the autostart directories,
if appinfo:
appinfo.launch()
+ return True
+ return False
+
+ # GNOME2 fallback
+ wm = launch_component("/desktop/gnome/session/required_components/windowmanager")
+ panel = launch_component("/desktop/gnome/session/required_components/panel")
- launch_component("/desktop/gnome/session/required_components/windowmanager")
- launch_component("/desktop/gnome/session/required_components/panel")
+ if not wm and not panel: # Probably GNOME3
+ subprocess.Popen(['gnome-shell'])
# Main program